\chapter{Experimentos}
\section{Metodolog\'ia de experimentaci\'on}

\paragraph{}
Para obtener un estimado real de como ser\'ia el desempe\~no del algor\'itmo, se generaron una serie de experimentos en los cuales se puso a prueba la estructura de datos propuesta en comparaci\'on con la rasterizaci\'on, la cu\'al esta implementada nativamente en el hardware y es el principal m\'etodo usado para visualizaci\'on en tiempo real. Se dej\'o de lado la comparaci\'on del m\'etodo propuesto con otros m\'etodos de renderizaci\'on a base de puntos, ya que en principio es dif\'icil de comparar, el desempe\~no de cada uno depende fuertemente de la representaci\'on que se us\'o, del objeto a visualizar, y en algunos casos, las posibles optimizaciones de hardware que se puedan implementar para alg\'un m\'etodo en particular; por lo que es motivo para un art\'iculo de investigaci\'on completamente ajeno a esta t\'esis. Al comparar el m\'etodo propuesto con la rasterizaci\'on, se obtuvo evidencia que refleja la importancia de continuar la investigaci\'on.

\paragraph{}
Cada experimento cuenta con dos pruebas: Preproceso y Renderizaci\'on. El pre-proceso a su vez se divide en dos etapas m\'as, primero se evalu\'o el tama\~no de los objetos originales a base de pol\'igonos y los generados por la estructura de datos propuesta PADS. Una vez teniendo ambos archivos almacenados por cada objeto se eval\'ua en una segunda etapa del preproceso el tiempo de cargado de ambos formatos, previo a la visualizaci\'on. Finalmente se compar\'o el rendimiento en cuadros por segundo de cada objeto en ambas representaciones y en el caso de la estructura de datos propuesta, se evalu\'o en cada nivel del \'arbol de multiresoluci\'on.

\paragraph{}
Para las pruebas fueron utilizados dos objetos escaneados en 3D los cuales fueron texturizados previamente usando el m\'etodo descrito en \cite{VELHO}. Branca, una cabeza de maniqu\'i escaneada usando diez mil triangulos dividida en cuatro charts y Cignoni que es la parte frontal de una cabeza humana la cu\'al tambi\'en consta de diez mil triangulos pero dividida en 40 charts. A lo largo de los experimentos se not\'o la clara ventaja del m\'etodo, y que a su vez el rendimiento general(pre-proceso y renderizado) es directamente proporcional al n\'umero de charts. Es importante notar que las pruebas fueron realizadas sobre los objetos completos, as\'i que el renderizado a base de puntos no refleja ninguna ventaja por las optimizaciones de cono de normales y ``frustum-culling'' implementadas adicionalmente.

\section{Hardware}

\paragraph{}
Detallar las especificaciones del hardware para la experimentaci\'on es de vital importancia en ciencias computacionales, ya que los resultados dependen mayormente del desempe\~no del mismo. Los experimentos llevados a cabo para la investigaci\'on fueron realizados con las siguientes caracter\'isticas de hardware:
\begin{itemize}
 \item Procesador: Pentium IV @ 1.5ghz
 \item Memoria: 512mb RAM
 \item Tarjeta de Video: GeForce FX 5200
\end{itemize}

\paragraph{}
Adem\'as, es importante destacar que las pruebas fueron realizadas en el modo de renderizado directo de OpenGL (Direct mode rendering) sin ning\'un tipo de optimizaci\'on de GPU tales como buffers de pixeles o v\'ertices por lo que no reflejan un rendimiento \'optimo para uso de un producto final pero es suficiente para el prop\'osito de evaluaci\'on y comparaci\'on de ambos m\'etodos.

\section{Experimento 01 - Branca}
\subsection{Objeto Poligonal - 10,000 tri\'angulos, 4 charts}
\subsubsection{Preproceso}
Tama\~no: 1.1mb

Tiempo de preproceso: 0.435 segs
\subsubsection{Renderizado}
Objeto con textura: ~1.7 fps (Cuadros por segundo)

Objeto sin textura: ~47 fps

\subsection{Objeto PADS - 32,000 splats, 4 charts}
\subsubsection{Pre-proceso}
Tama\~no del PADS sin compresi\'on: 605kb

Tama\~no del PADS con compresi\'on: 262kb

Tiempo de cargado previo a la visualizaci\'on: 0.428 segs
\subsubsection{Renderizado}

\begin{figure}[htp]
  \begin{center}
    \subfigure[~438fps]{\label{fig:branca-a}\includegraphics{Branca/brancaL01.eps}}
    \subfigure[~368fps]{\label{fig:branca-b}\includegraphics{Branca/brancaL02.eps}} 
    \subfigure[~324fps]{\label{fig:branca-c}\includegraphics{Branca/brancaL03.eps}} 
    \subfigure[~150fps]{\label{fig:branca-d}\includegraphics{Branca/brancaL04.eps}} 
    \subfigure[~84fps]{\label{fig:branca-e}\includegraphics{Branca/brancaL05.eps}} 
  \end{center}
  \label{Branca}
\end{figure}

\section{Experimento 02 - Cignoni}
\subsection{Objeto Poligonal - 10,000 tri\'angulos, 40 charts}
\subsubsection{Preproceso}
Tama\~no: 2.6mb

Tiempo de preproceso: 0.440 segs
\subsubsection{Renderizado}
Objeto con textura: ~1 fps

Objeto sin textura: ~2 fps

\subsection{Objeto PADS - 192,000 splats, 40 charts}
\subsubsection{Pre-proceso}
Tama\~no del PADS sin compresi\'on: 5.4mb

Tama\~no del PADS con compresi\'on: 2.4mb

Tiempo de cargado previo a la visualizaci\'on: 2.820 segs
\subsubsection{Renderizado}

\begin{figure}[htp]
  \begin{center}
    \subfigure[~256fps]{\label{fig:cignoni-a}\includegraphics{Cignoni/cignoniL01.eps}}
    \subfigure[~182fps]{\label{fig:cignoni-b}\includegraphics{Cignoni/cignoniL02.eps}} 
    \subfigure[~74fps]{\label{fig:cignoni-c}\includegraphics{Cignoni/cignoniL03.eps}} 
    \subfigure[~21fps]{\label{fig:cignoni-d}\includegraphics{Cignoni/cignoniL04.eps}} 
  \end{center}
  \label{Cignoni}
\end{figure}

\section{Comparaci\'on}

\begin{center}
 \begin{tabular}{ | l || l | l | l |}
  \hline
	Branca-poligonal 10k tris, 4 charts & 1.1mb & 0.435segs & ~1.7fps (texturizado) \\ \hline
	Branca-PADS 32k splats, 4 charts & 262kb & 0.428segs & ~84fps (la mayor resoluci\'on) \\ \hline
	Cignoni-poligonal 10k tris, 40 charts & 2.6mb & 0.440segs & ~1fps (texturizado) \\ \hline
	Cignoni-PADS 192k splats, 40 charts & 2.4mb & 2.82segs & ~21fps (la mayor resoluci\'on) \\
	\hline
 \end{tabular}
\end{center}

\paragraph{}
En la tabla anterior se encuentran los valores m\'as relevantes de cada una de las pruebas, en el caso del tama\~no del archivo se opt\'o por utilizar la estructura de datos comprimida, y en el rendimiento en cuadros por segundo se utiliz\'o la mayor resoluci\'on posible en el renderizado a base de puntos, es decir, el \'ultimo nivel del \'arbol de multi-resoluci\'on de cada chart. El rendimiento que fue comparado en el caso de los modelos poligonales fue el de la renderizaci\'on de los objetos con textura ya que esa es la manera en que se visualiza correctamente y que es comparable a la renderizaci\'on del objeto usando el m\'etodo propuesto.

\paragraph{}
Podemos observar un claro aumento en el rendimiento en cuadros por segundo de los objetos renderizados usando el m\'etodo propuesto sin ninguna p\'erdida de calidad visual ni generaci\'on de artefactos en la imagen. A su vez tambi\'en podemos observar que el aumento en el rendimiento depende fuertemente en la cantidad de charts que contenga el objeto, esto es evidente ya que las recursiones en los \'arboles de multi-resoluci\'on crecen exponencialmente a medida que se aumenta el n\'umero de charts. De la misma manera podemos observar como el preproceso aumenta considerablemente a medida que el n\'umero de charts aumenta a diferencia del modelo poligonal que mantiene aproximadamente el mismo tiempo de preproceso pues ambos objetos cuentan con el mismo n\'umero de tri\'angulos.


